package linearList;

public interface ILinkedList<T> {
    boolean isEmpty();                           //判断线性表是否为空，若空返回true
    int size();                                  //返回线性表元素个数（长度）
    T get(int i);                                //返回第i个元素
    void set(int i, T x);                        //设置第i个元素为x
    Node<T> insert(int i, T x);                  //插入x作为第i个元素，x!=null
    Node<T> insert(T x);                         //在线性表最后插入x元素，返回x序号
    T remove(int i);                             //删除第i个元素，返回被删除元素
    void clear();                                //删除线性表所有元素
    Node<T> search(T key);                       //查找首次出现的与key相等元素，返回元素序号i
    T removeByKey(T key);                        //删除首次出现的与key相等元素，返回被删除元素
}
